using System;
using Microsoft.SPOT;

namespace Netduino.Sensor
{
    /// <summary>
    /// Defines a sensor which can take samples.
    /// </summary>
    /// <remarks>A sensor is some kind of input, that captures samples of a (physical)
    /// quantitiy.
    /// </remarks>
    public interface ISensor
    {
        /// <summary>
        /// Takes a sample from the sensor.
        /// </summary>
        /// <returns>A current sample.</returns>
        ISample Take();

        /// <summary>
        /// Short description what the sensor's data represents.
        /// </summary>
        /// <remarks>Example: "Indoor temperature"</remarks>
        String Caption { get; }
    }
}
